package com.xavier.dong.netty.codec2;

import com.xavier.dong.netty.pojo.MyDataInfo;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;

/**
 * 说明：
 * 1. 我们自定义一个 handler 需要继承 Netty 规定好的 某个 Handler 适配器
 * 2. 这时，我们 自定义的 Handler 才能成为 一个 Handler
 *
 * @author XavierDong
 **/
public class NettyServerHandler extends SimpleChannelInboundHandler<MyDataInfo.MyMessage> {


    @Override
    protected void channelRead0(ChannelHandlerContext ctx, MyDataInfo.MyMessage msg) throws Exception {
        // 根据 Datatype 显示不同的信息
        MyDataInfo.MyMessage.DataType dataType = msg.getDataType();
        if (dataType == MyDataInfo.MyMessage.DataType.UserType)
        // User 对象
            System.out.println("学生id="+msg.getUser().getId()+",学生名字="+msg.getUser().getName());

        else if (dataType == MyDataInfo.MyMessage.DataType.WorkerType)
            // worker 对象
            System.out.println("工人的名字="+msg.getWorker().getName()+"，工人年龄="+msg.getWorker().getAge());

       else
        System.out.println("传输类型不正确.");


    }
}